package interfazGrafica;

import static org.junit.Assert.assertEquals;

import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JTextField;
import java.awt.Rectangle;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JEditorPane;
import javax.swing.JOptionPane;

import objetosPersistentes.Piloto;
import persistencia.Hibernate;

public class CargarPiloto extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null;
	private JTextField jTextFieldNombrePiloto = null;
	private JLabel jLabel = null;
	private JLabel jLabelnumero = null;
	private JLabel jLabeltiempodeclasif = null;
	private JLabel jLabel1sobrepasos = null;
	private JLabel jLabel1puntos = null;
	private JLabel jLabel1tiempodeclasif = null;
	private JTextField jTextFieldnumero = null;
	private JTextField jTextFieldSobrepasos = null;
	private JTextField jTextFieldPuntos = null;
	private JTextField jTextFieldTdeclasif = null;
	private JTextField jTextFieldcarrerascorridas = null;
	private JButton jButtonCargarPiloto = null;
	private JButton jButtonRecuperar = null;
	private JButton jButtonModificar = null;
	private JTextField jTextFieldTiempodecarrera = null;
	private JLabel jLabel1TiempodeCarrera = null;
	/**
	 * This is the default constructor
	 */
	public CargarPiloto() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(614, 378);
		this.setContentPane(getJContentPane());
		this.setTitle("Cargar Piloto");
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jLabel1TiempodeCarrera = new JLabel();
			jLabel1TiempodeCarrera.setBounds(new Rectangle(11, 176, 109, 20));
			jLabel1TiempodeCarrera.setText("Tiempo Final:");
			jLabel1tiempodeclasif = new JLabel();
			jLabel1tiempodeclasif.setBounds(new Rectangle(7, 146, 118, 18));
			jLabel1tiempodeclasif.setText("Carreras corridas:");
			jLabel1puntos = new JLabel();
			jLabel1puntos.setBounds(new Rectangle(9, 120, 118, 20));
			jLabel1puntos.setText("Tiempo de Calsific");
			jLabel1sobrepasos = new JLabel();
			jLabel1sobrepasos.setBounds(new Rectangle(9, 96, 115, 17));
			jLabel1sobrepasos.setText("Puntos");
			jLabeltiempodeclasif = new JLabel();
			jLabeltiempodeclasif.setBounds(new Rectangle(10, 72, 116, 17));
			jLabeltiempodeclasif.setText("Sobrepasos:");
			jLabelnumero = new JLabel();
			jLabelnumero.setBounds(new Rectangle(10, 43, 112, 16));
			jLabelnumero.setText("Nuemero:");
			jLabel = new JLabel();
			jLabel.setBounds(new Rectangle(13, 17, 112, 16));
			jLabel.setText("Nombre:");
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getJTextFieldNombrePiloto(), null);
			jContentPane.add(jLabel, null);
			jContentPane.add(jLabelnumero, null);
			jContentPane.add(jLabeltiempodeclasif, null);
			jContentPane.add(jLabel1sobrepasos, null);
			jContentPane.add(jLabel1puntos, null);
			jContentPane.add(jLabel1tiempodeclasif, null);
			jContentPane.add(getJTextFieldnumero(), null);
			jContentPane.add(getJTextFieldSobrepasos(), null);
			jContentPane.add(getJTextFieldPuntos(), null);
			jContentPane.add(getJTextFieldTdeclasif(), null);
			jContentPane.add(getJTextFieldcarrerascorridas(), null);
			jContentPane.add(getJButtonCargarPiloto(), null);
			jContentPane.add(getJButtonRecuperar(), null);
			jContentPane.add(getJButtonModificar(), null);
			jContentPane.add(getJTextFieldTiempodecarrera(), null);
			jContentPane.add(jLabel1TiempodeCarrera, null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes jTextFieldNombrePiloto	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldNombrePiloto() {
		if (jTextFieldNombrePiloto == null) {
			jTextFieldNombrePiloto = new JTextField();
			jTextFieldNombrePiloto.setBounds(new Rectangle(127, 15, 112, 20));
			jTextFieldNombrePiloto.setText("");
		}
		return jTextFieldNombrePiloto;
	}

	/**
	 * This method initializes jTextFieldnumero	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldnumero() {
		if (jTextFieldnumero == null) {
			jTextFieldnumero = new JTextField();
			jTextFieldnumero.setBounds(new Rectangle(127, 43, 77, 19));
			jTextFieldnumero.setText("");
		}
		return jTextFieldnumero;
	}

	/**
	 * This method initializes jTextFieldSobrepasos	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldSobrepasos() {
		if (jTextFieldSobrepasos == null) {
			jTextFieldSobrepasos = new JTextField();
			jTextFieldSobrepasos.setBounds(new Rectangle(128, 72, 59, 18));
			jTextFieldSobrepasos.setText("");
		}
		return jTextFieldSobrepasos;
	}

	/**
	 * This method initializes jTextFieldPuntos	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldPuntos() {
		if (jTextFieldPuntos == null) {
			jTextFieldPuntos = new JTextField();
			jTextFieldPuntos.setBounds(new Rectangle(127, 94, 57, 18));
			jTextFieldPuntos.setText("");
		}
		return jTextFieldPuntos;
	}

	/**
	 * This method initializes jTextFieldTdeclasif	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldTdeclasif() {
		if (jTextFieldTdeclasif == null) {
			jTextFieldTdeclasif = new JTextField();
			jTextFieldTdeclasif.setBounds(new Rectangle(130, 122, 56, 17));
			jTextFieldTdeclasif.setText("");
		}
		return jTextFieldTdeclasif;
	}

	/**
	 * This method initializes jTextFieldcarrerascorridas	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldcarrerascorridas() {
		if (jTextFieldcarrerascorridas == null) {
			jTextFieldcarrerascorridas = new JTextField();
			jTextFieldcarrerascorridas.setBounds(new Rectangle(129, 147, 87, 18));
			jTextFieldcarrerascorridas.setText("");
		}
		return jTextFieldcarrerascorridas;
	}

	/**
	 * This method initializes jButtonCargarCarrera	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonCargarPiloto() {
		if (jButtonCargarPiloto == null) {
			jButtonCargarPiloto = new JButton();
			jButtonCargarPiloto.setBounds(new Rectangle(200, 267, 191, 32));
			jButtonCargarPiloto.setText("Cargar Datos del Piloto");
			jButtonCargarPiloto.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
					int pilotonumero=Integer.parseInt(jTextFieldnumero.getText());
					String pilotonom=jTextFieldNombrePiloto.getText();
					String tdeclasif=jTextFieldTdeclasif.getText();
					Integer tdeclas=Integer.parseInt(tdeclasif);
					int puntaje= Integer.parseInt(jTextFieldPuntos.getText());
					int ccorridas= Integer.parseInt(jTextFieldcarrerascorridas.getText());
					int Sobrepasos= Integer.parseInt(jTextFieldSobrepasos.getText());
					int tiempoFinal=Integer.parseInt(jTextFieldTiempodecarrera.getText());
					Piloto p=new Piloto();
					p.setCarrerasCorridas(ccorridas);
					p.setNombre(pilotonom);
					p.setNumero(pilotonumero);
					p.setSobrepasos(Sobrepasos);
					p.setPuntos(puntaje);
					p.setTiempoClasificacion(tdeclas);
					p.setTiempoFinal(tiempoFinal);
					int status=Hibernate.guardarObjeto(p);
					if(status==1){
						JOptionPane.showMessageDialog(null,"Gurdado ok!");
						dispose();//cierra la ventana despues de un guardado correcto
					}else{
						JOptionPane.showMessageDialog(null,"Error");
					}
					assertEquals("10 x 5 must be 50", 50, 10*5);
				}
			});
		}
		return jButtonCargarPiloto;
	}

	/**
	 * This method initializes jButtonRecuperar	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonRecuperar() {
		if (jButtonRecuperar == null) {
			jButtonRecuperar = new JButton();
			jButtonRecuperar.setBounds(new Rectangle(35, 267, 148, 33));
			jButtonRecuperar.setText("Recuparar ");
			jButtonRecuperar.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
					  Piloto p= new Piloto(); 
					  p=(Piloto)Hibernate.dameObjeto(1, p);	
					  System.out.println(p.getNumero());
				}
			});
		}
		return jButtonRecuperar;
	}

	/**
	 * This method initializes jButtonModificar	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonModificar() {
		if (jButtonModificar == null) {
			jButtonModificar = new JButton();
			jButtonModificar.setBounds(new Rectangle(428, 268, 112, 34));
			jButtonModificar.setText("Modificar");
			jButtonModificar.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
					int pilotonumero=Integer.parseInt(jTextFieldnumero.getText());
					String pilotonom=jTextFieldNombrePiloto.getText();
					String tdeclasif=jTextFieldTdeclasif.getText();
					Integer tdeclas=Integer.parseInt(tdeclasif);
					int puntaje= Integer.parseInt(jTextFieldPuntos.getText());
					int ccorridas= Integer.parseInt(jTextFieldcarrerascorridas.getText());
					int Sobrepasos= Integer.parseInt(jTextFieldSobrepasos.getText());
					Piloto p=new Piloto();
					p.setCarrerasCorridas(ccorridas);
					p.setNombre(pilotonom);
					p.setNumero(pilotonumero);
					p.setSobrepasos(Sobrepasos);
					p.setPuntos(puntaje);
					p.setTiempoClasificacion(tdeclas);
					int status=Hibernate.modificarObjeto(p);
					if (status==1){
						JOptionPane.showMessageDialog(null,"Modificado ok!");
					}else{
						JOptionPane.showMessageDialog(null,"Error");
					}
				}
			});
		}
		return jButtonModificar;
	}

	/**
	 * This method initializes jTextFieldTiempodecarrera	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldTiempodecarrera() {
		if (jTextFieldTiempodecarrera == null) {
			jTextFieldTiempodecarrera = new JTextField();
			jTextFieldTiempodecarrera.setBounds(new Rectangle(130, 178, 80, 18));
		}
		return jTextFieldTiempodecarrera;
	}

}  //  @jve:decl-index=0:visual-constraint="10,10"
